using System;

namespace GoogleEarthClasses.Entities
{
    [Serializable]
    public class ELocationData
    {
        #region Private Members
        Int32 _locationId;
        string _locationGUID;
        DateTime _createdOn;
        string _createdBy;
        EAsset _asset;
        long _longitude;
        long _latitude;
        long _altitude;
        #endregion Private Members

        #region Properties
        public Int32 LocationId
        {
            get { return _locationId; }
            set { _locationId = value; }
        }
        public string LocationGUID
        {
            get { return _locationGUID; }
            set { _locationGUID = value; }
        }
        public DateTime CreatedOn
        {
            get { return _createdOn; }
            set { _createdOn = value; }
        }
        public string CreatedBy
        {
            get { return _createdBy; }
            set { _createdBy = value; }
        }
        public EAsset Asset
        {
            get { return _asset; }
            set { _asset = value; }
        }
        public long Longitude
        {
            get { return _longitude; }
            set { _longitude = value; }
        }
        public long Latitude
        {
            get { return _latitude; }
            set { _latitude = value; }
        }
        public long Altitude
        {
            get { return _altitude; }
            set { _altitude = value; }
        }
        #endregion Properties

        #region Constructors
        public ELocationData()
        {
            _locationId = Int32.MinValue;

        }
        public ELocationData(long longitude, long latitude, long altitude)
            : this()
        {
            _longitude = longitude;
            _latitude = latitude;
            _altitude = altitude;

        }
        public ELocationData(Int32 locationId, DateTime createdOn, string createdBy, EAsset asset, long longitude, long latitude, long altitude)
            : this(longitude, latitude, altitude)
        {
            _locationId = locationId;
            _createdOn = createdOn;
            _createdBy = createdBy;
            _asset = asset;
        }

        #endregion Constructors
    }
}

